package com.zsy.springframework.beans.facotry.jiekou.three;

import com.zsy.springframework.beans.facotry.config.BeanDefinition;
import com.zsy.springframework.beans.facotry.exception.BeansException;
import com.zsy.springframework.beans.facotry.jiekou.one.BeanPostProcessor;
import com.zsy.springframework.beans.facotry.jiekou.two.AutowireCapableBeanFactory;
import com.zsy.springframework.beans.facotry.jiekou.two.ListableBeanFactory;

//这是最终的接口 都需要配置好的beanfactory
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
